﻿using System;
using SharpSqlAnalyzer.nodes;

namespace SharpSqlAnalyzer.stmt.oracle
{
	// Token: 0x02000149 RID: 329
	public class TPlsqlVarrayTypeDefStmt : TCustomSqlStatement
	{
		// Token: 0x06000AFD RID: 2813 RVA: 0x003057B8 File Offset: 0x003039B8
		public TPlsqlVarrayTypeDefStmt() : this(EDbVendor.dbvoracle)
		{
		}

		// Token: 0x06000AFE RID: 2814 RVA: 0x003057C2 File Offset: 0x003039C2
		public TPlsqlVarrayTypeDefStmt(EDbVendor dbvendor) : base(dbvendor)
		{
			this.sqlstatementtype = ESqlStatementType.sstplsql_varraytypedef;
		}

		// Token: 0x06000AFF RID: 2815 RVA: 0x003057D6 File Offset: 0x003039D6
		internal override void buildsql()
		{
		}

		// Token: 0x06000B00 RID: 2816 RVA: 0x003057D8 File Offset: 0x003039D8
		internal override void clear()
		{
		}

		// Token: 0x06000B01 RID: 2817 RVA: 0x003057DA File Offset: 0x003039DA
		internal override string getasprettytext()
		{
			return "";
		}

		// Token: 0x06000B02 RID: 2818 RVA: 0x003057E1 File Offset: 0x003039E1
		internal virtual void iterate(TVisitorAbs pvisitor)
		{
		}

		// Token: 0x06000B03 RID: 2819 RVA: 0x003057E3 File Offset: 0x003039E3
		public override int doParseStatement(TCustomSqlStatement psql)
		{
			base.doParseStatement(psql);
			return 0;
		}

		// Token: 0x06000B04 RID: 2820 RVA: 0x003057EE File Offset: 0x003039EE
		public override void init(object arg1, object arg2)
		{
			this.typeName = (TObjectName)arg1;
			this.typeName.ObjectType = 27;
			this.elementDataType = (TTypeName)arg2;
		}

		// Token: 0x17000201 RID: 513
		// (get) Token: 0x06000B05 RID: 2821 RVA: 0x00305815 File Offset: 0x00303A15
		// (set) Token: 0x06000B06 RID: 2822 RVA: 0x0030581D File Offset: 0x00303A1D
		public virtual TTypeName ElementDataType
		{
			get
			{
				return this.elementDataType;
			}
			set
			{
				this.elementDataType = value;
			}
		}

		// Token: 0x17000202 RID: 514
		// (get) Token: 0x06000B08 RID: 2824 RVA: 0x0030582F File Offset: 0x00303A2F
		// (set) Token: 0x06000B07 RID: 2823 RVA: 0x00305826 File Offset: 0x00303A26
		public virtual TConstant SizeLimit
		{
			get
			{
				return this.sizeLimit;
			}
			set
			{
				this.sizeLimit = value;
			}
		}

		// Token: 0x17000203 RID: 515
		// (get) Token: 0x06000B09 RID: 2825 RVA: 0x00305837 File Offset: 0x00303A37
		// (set) Token: 0x06000B0A RID: 2826 RVA: 0x0030583F File Offset: 0x00303A3F
		public virtual TObjectName TypeName
		{
			get
			{
				return this.typeName;
			}
			set
			{
				this.typeName = value;
			}
		}

		// Token: 0x17000204 RID: 516
		// (get) Token: 0x06000B0B RID: 2827 RVA: 0x00305848 File Offset: 0x00303A48
		// (set) Token: 0x06000B0C RID: 2828 RVA: 0x00305850 File Offset: 0x00303A50
		public virtual bool NotNull
		{
			get
			{
				return this.NotNull_Renamed;
			}
			set
			{
				this.NotNull_Renamed = value;
			}
		}

		// Token: 0x06000B0D RID: 2829 RVA: 0x00305859 File Offset: 0x00303A59
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06000B0E RID: 2830 RVA: 0x00305869 File Offset: 0x00303A69
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x0400129E RID: 4766
		private TObjectName typeName;

		// Token: 0x0400129F RID: 4767
		private TTypeName elementDataType;

		// Token: 0x040012A0 RID: 4768
		private bool NotNull_Renamed;

		// Token: 0x040012A1 RID: 4769
		private TConstant sizeLimit;
	}
}
